package com.imooc.service;

import com.imooc.pojo.Comments;
import com.imooc.pojo.Videos;
import com.imooc.utils.PagedResult;
import com.imooc.utils.PagedResultUtils;

import java.util.List;

/**
 * @author Zhou
 * @create 2020-11-21 11:11
 */
public interface VideoService {

    /**
     * 保存视频
     * @param video
     */
    public String saveVideo(Videos video);

    /**
     * 修改视频的封面
     * @param videoId
     * @param coverPath
     * @return
     */
    public void UpdateVideo(String videoId, String coverPath);

    /**
     * 分页查询视频列表
     * @param page
     * @param pageSize
     * @return
     */
    public PagedResultUtils getAllVideos(Videos videos, Integer isSaveRecord, Integer page, Integer pageSize);

    /**
     * 热搜查询
     * @return
     */
    public List<String> getHotWords();

    /**
     * 用户喜欢视频/点赞
     *
     * @param userId
     * @param videoId
     * @param videoCreateId
     */
    public void userLikeVideo(String userId, String videoId, String videoCreateId);

    /**
     * 用户不喜欢视频/取消点赞
     * @param userId
     * @param videoId
     * @param videoCreateId
     */
    public void userUnlikeVideo(String userId, String videoId, String videoCreateId);

    /**
     *  查询用户喜欢的视频列表
     * @param userId
     * @param page
     * @param pageSize
     */
    public PagedResult queryMyLikeVideos(String userId, Integer page, Integer pageSize);

    /**
     * 查询关注用户的视频列表
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    public PagedResult queryMyFollowVideos(String userId, Integer page, Integer pageSize);

    /**
     * 保存评论
     * @param comments
     */
    public void saveComment(Comments comments);

    /**
     * 获取所有的评论信息
     * @param videoId
     * @param page
     * @param pageSize
     * @return
     */
    public PagedResult getAllComments(String videoId, Integer page, Integer pageSize);
}
